<?php
#array_reduce($arr,function,initial) 这个函数的作用是用于迭代一个数组，并把数组里面的元素依次传入给自定义函数进行处理。并最终返回一个字符串
$a=array(10,15,20);
$result = array_reduce($a,function($v1,$v2){
    print_r('$v1:'.$v1.'--'.'$v2:'.$v2);
    echo "<br/>";
    return $v1+$v2;
},5);//第三个参数为初始值，传递给$v1

print_r("结果：".$result);

//$b = ["a","b","c"];
//$result = array_reduce($b,function ($stack,$pipe){
//    return function ($v0) use ($stack,$pipe){
//      return $stack.$pipe;
//    };
//},function ($v0){return $v0;});
//echo $result(1);
global $func1;
$func1 = function ($v1){
    echo 1;
  return $v1;
};

$func2 = function ($v,\Closure $func) {
    echo 2;
    return $func($v);
};
$func3 = function ($v,\Closure $func) use($func1) {
    echo 3;
    return $func($v,$func1);
};
echo $func3(1,$func2);